package online.yangcloud.core.model.request.file;

/**
 * @author zhuboyang
 * @since 2023年11月28 13:10:59
 */
public class FileUploadParameter {

    /**
     * 当前文件块序号
     */
    private Integer currentIndex;

    /**
     * 当前文件块大小
     */
    private Long currentSize;

    /**
     * 文件块数量
     */
    private Integer total;

    /**
     * 文件块分片大小
     */
    private Long shardingSize;

    /**
     * 文件大小
     */
    private Long fileSize;

    /**
     * 文件识别码
     */
    private String identifier;

    /**
     * 文件名（不带后缀）
     */
    private String fileName;

    /**
     * 后缀
     */
    private String ext;

    /**
     * 文件父级目录 id
     */
    private String id;

    /**
     * 是否开启分片
     */
    private Integer isShard;

    /**
     * 文件 hash
     */
    private String hash;

    public Integer getCurrentIndex() {
        return currentIndex;
    }

    public FileUploadParameter setCurrentIndex(Integer currentIndex) {
        this.currentIndex = currentIndex;
        return this;
    }

    public Long getCurrentSize() {
        return currentSize;
    }

    public FileUploadParameter setCurrentSize(Long currentSize) {
        this.currentSize = currentSize;
        return this;
    }

    public Integer getTotal() {
        return total;
    }

    public FileUploadParameter setTotal(Integer total) {
        this.total = total;
        return this;
    }

    public Long getShardingSize() {
        return shardingSize;
    }

    public FileUploadParameter setShardingSize(Long shardingSize) {
        this.shardingSize = shardingSize;
        return this;
    }

    public Long getFileSize() {
        return fileSize;
    }

    public FileUploadParameter setFileSize(Long fileSize) {
        this.fileSize = fileSize;
        return this;
    }

    public String getIdentifier() {
        return identifier;
    }

    public FileUploadParameter setIdentifier(String identifier) {
        this.identifier = identifier;
        return this;
    }

    public String getFileName() {
        return fileName;
    }

    public FileUploadParameter setFileName(String fileName) {
        this.fileName = fileName;
        return this;
    }

    public String getExt() {
        return ext;
    }

    public FileUploadParameter setExt(String ext) {
        this.ext = ext;
        return this;
    }

    public String getId() {
        return id;
    }

    public FileUploadParameter setId(String id) {
        this.id = id;
        return this;
    }

    public Integer getIsShard() {
        return isShard;
    }

    public FileUploadParameter setIsShard(Integer isShard) {
        this.isShard = isShard;
        return this;
    }

    public String getHash() {
        return hash;
    }

    public FileUploadParameter setHash(String hash) {
        this.hash = hash;
        return this;
    }

    @Override
    public String toString() {
        return "FileUploadParameter["
                + " currentIndex=" + currentIndex + ","
                + " currentSize=" + currentSize + ","
                + " total=" + total + ","
                + " shardingSize=" + shardingSize + ","
                + " fileSize=" + fileSize + ","
                + " identifier=" + identifier + ","
                + " fileName=" + fileName + ","
                + " ext=" + ext + ","
                + " id=" + id + ","
                + " isShard=" + isShard + ","
                + " hash=" + hash
                + " ]";
    }
}
